Alias Analysis for Intermediate Code

نویسندگان

  • Sanjiv K. Gupta
  • Naveen Sharma
چکیده

Most existing alias analysis techniques are formulated in terms of high-level language constructs and are unable to cope with pointer arithmetic. For machines that do not have ’base + offset’ addressing mode, pointer arithmetic is necessary to compute a pointer to the desired address. Most state of the art compilers such as GCC lack the mechanism to determine aliasing between such computed pointers. Few other existing alias analysis techniques described for executable code can handle pointer arithmetic but require large memory when applied to intermediate languages such as RTL. In this paper, we describe a method of disambiguating the computed pointers within a procedure at the intermediate code level. The method is similar to the techniques described for executable code but requires significantly less amount of memory. We have experimented our method with the GCC RTL and it reduces the code size of array manipulating benchmarks by approximately 4-7% for the machines that do not have ’base + offset’ addressing mode.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Designing the McCAT Compiler Based on a Family of Structured Intermediate Representations

The eeective exploitation of advanced technology for the development of the next-generation high-performance computers requires the integrated development of compiler techniques and architectural design. In order to provide a research tool with which we can experiment with both new architectural features and compiler support for those features, we have been developing the McGill Com-piler/Archi...

متن کامل

A General Compiler Framework for Data Speculation Using DSCM

Getting precise alias information in a language that allows pointers, such as C, is expensive. One reason is that alias analysis should generate conservative (safe) alias information. Alias analysis assumes possible aliases when it can’t prove there are no aliases. The conservative alias information may greatly affect compiler optimizations. In this paper, we present a general framework to allo...

متن کامل

The Swift Java Compiler: Design and Implementation

We have designed and implemented an optimizing Java compiler called Swift for the Alpha architecture. Swift translates Java bytecodes to optimized Alpha code, and uses static single assignment (SSA) form for its intermediate representation (IR). The Swift IR is relatively simple, but allows for straightforward implementation of all the standard scalar optimizations. The Swift compiler also impl...

متن کامل

Alias Analysis for Fortran90 Array Slices

Most alias analyses produce approximate results in the presence of array slices. This may lead to ine cient code which is of concern, especially, in languages like Fortran90. In this paper, we present an overview of a static alias analysis that gives accurate results in the presence of array slices in

متن کامل

Hardware Parameters of Vliw Cores and Code Quality Factors Affecting Alias

Recent studies have shown that the ability of disambiguating memory addresses (often referred to as alias analysis) gives concrete performance benefits to the compilation of C code for VLIW machines. This experimental research studies which factors, though external to alias analysis, strongly determine its impact on the performance of compiled code. These factors belong to two categories: archi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003